<?php

require_once realpath(dirname(__FILE__) . '//..//pages.php');
require_once INC_DEFINES;
require_once INC_FUNCTIONS;
require_once INC_MESSAGES;
require_once MDL_STATS;

checkSession();

if (isset($_SESSION['data'])) {
    $post = true;
    $data = array_merge_recursive($_GET, $_SESSION['data']);
} else {
    $post = false;
    $data = $_GET;
}
if (isset($data['ID'])) {
    $ID = $data['ID'] ? $data['ID'] : null;
} else {
    $ID = null;
}

if (isset($_GET['stat'])) {
    $stat = $_SESSION['stat'] = $_GET['stat'];
    if (empty($stat)) {
        require_once VW_TABLES;
    } else if (!authorize('supervise', $stat)) {
        notify(MSG_NOT_AUTHORIZED);
        exit();
    }
    switch ($stat) {
        case 'classe' :
            $html = classe($ID);
            break;
        case 'distretto' :
            $html = distretto($ID);
            break;
        case 'docente' :
            $html = docente($ID);
            break;
        case 'indirizzo' :
            $html = indirizzo($ID);
            break;
        case 'intervento' :
            $html = intervento($ID);
            break;
        case 'intervento_docente' :
            $html = interventoDocente($data);
            break;
        case 'intervento_studente' :
            $html = interventoStudente($data);
            break;
        case 'materia' :
            $html = materia($ID);
            break;
        case 'ospedale' :
            $html = ospedale($ID);
            break;
        case 'permesso' :
            $html = permesso();
            break;
        case 'reparto' :
            $html = reparto($ID);
            break;
        case 'ricovero' :
            $html = ricovero($ID);
            break;
        case 'scuola':
            $html = scuola($ID);
            break;
        case 'studente':
            if (isset($_SESSION[KEY_SESSION_USER])&& $ID) {
                require_once CLASS_USER;
                $user = unserialize($_SESSION[KEY_SESSION_USER]);
                $user->reload ();
                if (is_a($user, 'User')) {
                    $db = openConnection();
                    $result = $db->select(array('supervisiona', 'user', 'studente'), array('IDstudente'), 'supervisiona.IDuser=user.ID AND supervisiona.IDstudente=studente.ID AND user.ID=' . $user->get('ID'));
                    if ($user && $result) {
                        $flag = false;
                        while ($row = $db->fetchAssoc($result)) {
                            if ($row['IDstudente'] == $ID) {
                                $flag = true;
                            }
                        }
                        if (!$flag) {
                            $msg = MSG_NOT_AUTHORIZED;
                            require_once VW_NOTIFY;
                            exit();
                        }
                    } else {
                        $msg = MSG_NOT_AUTHORIZED;
                        require_once VW_NOTIFY;
                        exit();
                    }
                } else {
                    $msg = MSG_NOT_AUTHORIZED;
                    require_once VW_NOTIFY;
                    exit();
                }
            }
            $html = studente($ID);
            break;
        case 'tipo_intervento':
            $html = tipo_intervento($ID);
            break;
        case 'tipo_ricovero':
            $html = tipo_ricovero($ID);
            break;
        case 'user' :
            $html = user($ID);
            break;
        default:
            require_once VW_TABLES;
            exit();
            break;
    }
}
require_once VW_STATS;
?>
